bitkeeper revision 1.256 (3ee609bdneehgPlYzveJg2IZOvjyUg)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Tue, 10 Jun 2003 16:39:25 +0000 (16:39 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Tue, 10 Jun 2003 16:39:25 +0000 (16:39 +0000)
dom0_ops.h:
  new file
dom0_ops.h, sched.h, kernel.c, domain.c, dom0_ops.c:
  Clean up dom0_ops.h interface files to remove duplicated definitions.
dom0_ops.h:
  Rename: xen/include/xeno/dom0_ops.h -> xen/include/hypervisor-ifs/dom0_ops.h
.del-dom0_ops.h~ede4a9057a132248:
  Delete: tools/internal/dom0_ops.h
.del-dom0_ops.h~d7d8e37e7e6347c6:
  Delete: tools/domain_builder/dom0_ops.h

12 files changed:
.bk-to-hg
.hg-to-bk
.rootkeys
tools/domain_builder/dom0_ops.h [new file with mode: 0644]
tools/internal/dom0_ops.h [new file with mode: 0644]
xen/common/dom0_ops.c
xen/common/domain.c
xen/common/kernel.c
xen/include/hypervisor-ifs/dom0_ops.h [new file with mode: 0644]
xen/include/xeno/dom0_ops.h [deleted file]
xen/include/xeno/sched.h
xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h

index ee55de0843e98340915a04fe4708d2c6805415c2..039e4d0069c5c26909f86c505b9de66182e6d1f3 100755 (executable)
--- a/.bk-to-hg
+++ b/.bk-to-hg
@@ -1,8 +1,2 @@
-#!/bin/sh -x
-set -e
-test -L tools/domain_builder/dom0_ops.h
-rm      tools/domain_builder/dom0_ops.h
-test -L tools/internal/dom0_ops.h
-rm      tools/internal/dom0_ops.h
-(find -depth -type d -print | xargs -r rmdir 2>/dev/null) || true
+#!/bin/sh
 exit 0
index 2bde70313914790158b1e405dc8f29a83ce41a76..039e4d0069c5c26909f86c505b9de66182e6d1f3 100755 (executable)
--- a/.hg-to-bk
+++ b/.hg-to-bk
@@ -1,9 +1,2 @@
-#!/bin/sh -x
-set -e
-mkdir -p tools
-mkdir -p tools/domain_builder
-ln -s ../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h tools/domain_builder/dom0_ops.h
-mkdir -p tools/internal
-ln -s ../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h tools/internal/dom0_ops.h
-(find -depth -type d -print | xargs -r rmdir 2>/dev/null) || true
+#!/bin/sh
 exit 0
index 351d4920afc16358b9abf03831a8a105b224136a..dfa4c10dbdc779bf37373bdcd495fc7aa7bd5938 100644 (file)
--- a/.rootkeys
+++ b/.rootkeys
@@ -90,7 +90,7 @@
 3e4d00468-FN2VDeEHo96zxrMHK_mA tools/domain_builder/Makefile
 3e4d0046SPau_y0sw2WLJz8QkqNoRA tools/domain_builder/README
 3e4d0046bbdH0GsI9J_1Eb4ZQHfIiQ tools/domain_builder/dom0_defs.h
-3e71f9b871pvOAxDrhxpC4N4mHkbww tools/domain_builder/dom0_ops.h
+3ee609abdxnu1GvbtXnPlMfEkTEIwQ tools/domain_builder/dom0_ops.h
 3e4d0046ouLij_CMN_j7-dUHZIBI_A tools/domain_builder/dom_builder.c
 3e4d0046EKs06fY0CWDEgZQcn7DYUg tools/domain_builder/dom_kill.c
 3e4d0046aPbGiRTtdWxqY5b3ytWurA tools/domain_builder/hypervisor_defs.h
 3e4d0046IBzDIeaMbQB-e2QB2ahbig tools/domain_builder/vifinit
 3eb781fdl4lXWYZzmqDDUAYhAThRqQ tools/internal/Makefile
 3eb781fdc539MQQm47rYRCCR3N5i-Q tools/internal/dom0_defs.h
-3eb781fdEYILyFg60YVBsWNqxWFf1g tools/internal/dom0_ops.h
+3ee609b3Yr4aggmLSKmhiIzT8-nURA tools/internal/dom0_ops.h
 3eb781fddjylXbsepjppUyIXa5lcaQ tools/internal/hypervisor_defs.h
 3eb781fdKiQbgozBsgs_zzJQ9ubehw tools/internal/mem_defs.h
 3ec61e1bJCeJJu0SsptmDpA1xKvwvw tools/internal/rpm.spec
 3ddb79c3M2n1ROZH6xk3HbyN4CPDqg xen/include/asm-i386/uaccess.h
 3ddb79c3uPGcP_l_2xyGgBSWd5aC-Q xen/include/asm-i386/unaligned.h
 3ddb79c2YTaZwOqWin9-QNgHge5RVw xen/include/hypervisor-ifs/block.h
+3ddb79c2PMeWTK86y4C3F4MzHw4A1g xen/include/hypervisor-ifs/dom0_ops.h
 3ddb79c25UE59iu4JJcbRalx95mvcg xen/include/hypervisor-ifs/hypervisor-if.h
 3ead095dE_VF-QA88rl_5cWYRWtRVQ xen/include/hypervisor-ifs/kbd.h
 3ddb79c2oRPrzClk3zbTkRHlpumzKA xen/include/hypervisor-ifs/network.h
 3eb165e0eawr3R-p2ZQtSdLWtLRN_A xen/include/xeno/console.h
 3ddb79c1V44RD26YqCUm-kqIupM37A xen/include/xeno/ctype.h
 3ddb79c05DdHQ0UxX_jKsXdR4QlMCA xen/include/xeno/delay.h
-3ddb79c2PMeWTK86y4C3F4MzHw4A1g xen/include/xeno/dom0_ops.h
 3e6377eaioRoNm0m_HSDEAd4Vqrq_w xen/include/xeno/dom_mem_ops.h
 3ddb79c1uaWQZj551j1O0B5z8AnHOg xen/include/xeno/elevator.h
 3ddb79c0HIghfBF8zFUdmXhOU8i6hA xen/include/xeno/errno.h
diff --git a/tools/domain_builder/dom0_ops.h b/tools/domain_builder/dom0_ops.h
new file mode 100644 (file)
index 0000000..ed61fb0
--- /dev/null
@@ -0,0 +1,5 @@
+
+#define NO_DOM0_OP_T
+#include "../../xen/include/hypervisor-ifs/dom0_ops.h"
+#undef  NO_DOM0_OP_T
+#include "../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h"
diff --git a/tools/internal/dom0_ops.h b/tools/internal/dom0_ops.h
new file mode 100644 (file)
index 0000000..ed61fb0
--- /dev/null
@@ -0,0 +1,5 @@
+
+#define NO_DOM0_OP_T
+#include "../../xen/include/hypervisor-ifs/dom0_ops.h"
+#undef  NO_DOM0_OP_T
+#include "../../xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/dom0/dom0_ops.h"
index dd6111d70054c0f23062ea9596eb1fb1e2a0f675..e65eeb0df1032d7e86b09f86d794c53fbe19ec3f 100644 (file)
@@ -10,7 +10,7 @@
 #include <xeno/types.h>
 #include <xeno/lib.h>
 #include <xeno/mm.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
 #include <xeno/sched.h>
 #include <xeno/event.h>
 #include <asm/domain_page.h>
index 19c26f986cc18faaa6f1816ffad253aa5c03cd55..b9804c6ebc4b6d4c69921b69940b9fd1765b1a1b 100644 (file)
@@ -9,7 +9,7 @@
 #include <xeno/delay.h>
 #include <xeno/event.h>
 #include <xeno/time.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
 #include <asm/io.h>
 #include <asm/domain_page.h>
 #include <asm/flushtlb.h>
index 5e1e2fc194e7f677f09e1ec399bc585609fac1db..d403717e556a1555125c326456a6d6ccc2de71de 100644 (file)
@@ -13,7 +13,7 @@
 #include <asm/io.h>
 #include <asm/msr.h>
 #include <asm/uaccess.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
 #include <asm/byteorder.h>
 #include <linux/if_ether.h>
 #include <asm/domain_page.h>
diff --git a/xen/include/hypervisor-ifs/dom0_ops.h b/xen/include/hypervisor-ifs/dom0_ops.h
new file mode 100644 (file)
index 0000000..d8da108
--- /dev/null
@@ -0,0 +1,107 @@
+/******************************************************************************
+ * dom0_ops.h
+ * 
+ * Process command requests from domain-0 guest OS.
+ * 
+ * Copyright (c) 2002-2003, K A Fraser, B Dragovic
+ */
+
+
+#ifndef __DOM0_OPS_H__
+#define __DOM0_OPS_H__
+
+#define DOM0_GETMEMLIST     2
+#define DOM0_BVTCTL         6
+#define DOM0_ADJUSTDOM      7
+#define DOM0_CREATEDOMAIN   8
+#define DOM0_DESTROYDOMAIN  9
+#define DOM0_STARTDOMAIN   10
+#define DOM0_STOPDOMAIN    11
+#define DOM0_GETDOMAININFO 12
+#define DOM0_BUILDDOMAIN   13
+
+#define MAX_CMD_LEN    256
+#define MAX_DOMAIN_NAME 16
+
+typedef struct dom0_newdomain_st 
+{
+    unsigned int domain;    // return parameter
+    unsigned int memory_kb; 
+    unsigned int num_vifs;  // temporary
+    unsigned long pg_head;  // return parameter
+    char name[MAX_DOMAIN_NAME];
+} dom0_newdomain_t;
+
+typedef struct dom0_killdomain_st
+{
+    unsigned int domain;
+    int          force;
+} dom0_killdomain_t;
+
+typedef struct dom0_getmemlist_st
+{
+    unsigned long start_pfn;
+    unsigned long num_pfns;
+    void *buffer;
+} dom0_getmemlist_t;
+
+typedef struct domain_launch
+{
+    unsigned int domain;
+    unsigned long l2_pgt_addr;
+    unsigned long virt_load_addr;
+    unsigned long virt_shinfo_addr;
+    unsigned long virt_startinfo_addr;
+    unsigned int num_vifs;
+    char cmd_line[MAX_CMD_LEN];
+    unsigned long virt_mod_addr;
+    unsigned long virt_mod_len;
+} dom_meminfo_t;
+
+typedef struct dom0_bvtctl_st
+{
+       unsigned long ctx_allow;        /* context switch allowance */
+} dom0_bvtctl_t;
+
+typedef struct dom0_adjustdom_st
+{
+    unsigned int  domain;      /* domain id */
+       unsigned long mcu_adv;  /* mcu advance: inverse of weight */
+       unsigned long warp;     /* time warp */
+       unsigned long warpl;    /* warp limit */
+       unsigned long warpu;    /* unwarp time requirement */
+} dom0_adjustdom_t;
+
+typedef struct dom0_getdominfo_st
+{
+  unsigned int domain;          /* All returns except domain */
+  char name[MAX_DOMAIN_NAME];
+  int processor;
+  int has_cpu;
+  int state;
+  int hyp_events;
+  unsigned long mcu_advance;
+  unsigned long pg_head;
+  unsigned int tot_pages;
+  long long cpu_time;
+} dom0_getdominfo_t;
+
+#ifndef NO_DOM0_OP_T
+typedef struct dom0_op_st
+{
+    unsigned long cmd;
+    union
+    {
+        dom0_newdomain_t newdomain;
+        dom0_killdomain_t killdomain;
+        dom0_getmemlist_t getmemlist;
+               dom0_bvtctl_t bvtctl;
+               dom0_adjustdom_t adjustdom;
+        dom_meminfo_t meminfo;
+        dom0_getdominfo_t getdominfo;
+   }
+    u;
+} dom0_op_t;
+#endif
+
+#endif
diff --git a/xen/include/xeno/dom0_ops.h b/xen/include/xeno/dom0_ops.h
deleted file mode 100644 (file)
index 93bb3e8..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/******************************************************************************
- * dom0_ops.h
- * 
- * Process command requests from domain-0 guest OS.
- * 
- * Copyright (c) 2002, K A Fraser, B Dragovic
- * 
- * MUST BE KEPT IN SYNC WITH xenolinux<*>/arch/xeno/drivers/dom0/dom0_ops.h
- */
-
-
-#ifndef __DOM0_OPS_H__
-#define __DOM0_OPS_H__
-
-#define DOM0_GETMEMLIST     2
-#define DOM0_BVTCTL         6
-#define DOM0_ADJUSTDOM      7
-#define DOM0_CREATEDOMAIN   8
-#define DOM0_DESTROYDOMAIN  9
-#define DOM0_STARTDOMAIN   10
-#define DOM0_STOPDOMAIN    11
-#define DOM0_GETDOMAININFO 12
-#define DOM0_BUILDDOMAIN   13
-
-#define MAX_CMD_LEN    256
-#define MAX_DOMAIN_NAME 16
-
-typedef struct dom0_newdomain_st 
-{
-    unsigned int domain;    // return parameter
-    unsigned int memory_kb; 
-    unsigned int num_vifs;  // temporary
-    unsigned long pg_head;  // return parameter
-    char name[MAX_DOMAIN_NAME];
-} dom0_newdomain_t;
-
-typedef struct dom0_killdomain_st
-{
-    unsigned int domain;
-    int          force;
-} dom0_killdomain_t;
-
-typedef struct dom0_getmemlist_st
-{
-    unsigned long start_pfn;
-    unsigned long num_pfns;
-    void *buffer;
-} dom0_getmemlist_t;
-
-typedef struct domain_launch
-{
-    unsigned int domain;
-    unsigned long l2_pgt_addr;
-    unsigned long virt_load_addr;
-    unsigned long virt_shinfo_addr;
-    unsigned long virt_startinfo_addr;
-    unsigned int num_vifs;
-    char cmd_line[MAX_CMD_LEN];
-    unsigned long virt_mod_addr;
-    unsigned long virt_mod_len;
-} dom_meminfo_t;
-
-typedef struct dom0_bvtctl_st
-{
-       unsigned long ctx_allow;        /* context switch allowance */
-} dom0_bvtctl_t;
-
-typedef struct dom0_adjustdom_st
-{
-    unsigned int  domain;      /* domain id */
-       unsigned long mcu_adv;  /* mcu advance: inverse of weight */
-       unsigned long warp;     /* time warp */
-       unsigned long warpl;    /* warp limit */
-       unsigned long warpu;    /* unwarp time requirement */
-} dom0_adjustdom_t;
-
-typedef struct dom0_getdominfo_st
-{
-  unsigned int domain;          /* All returns except domain */
-  char name[MAX_DOMAIN_NAME];
-  int processor;
-  int has_cpu;
-  int state;
-  int hyp_events;
-  unsigned long mcu_advance;
-  unsigned long pg_head;
-  unsigned int tot_pages;
-  long long cpu_time;
-} dom0_getdominfo_t;
-
-
-typedef struct dom0_op_st
-{
-    unsigned long cmd;
-    union
-    {
-        dom0_newdomain_t newdomain;
-        dom0_killdomain_t killdomain;
-        dom0_getmemlist_t getmemlist;
-               dom0_bvtctl_t bvtctl;
-               dom0_adjustdom_t adjustdom;
-        dom_meminfo_t meminfo;
-        dom0_getdominfo_t getdominfo;
-   }
-    u;
-} dom0_op_t;
-
-#endif
index f696b5ab5674dbaa01d74d6230a209ff7b88e534..7d9e2fcbd27208b95f2d5c329fdbd617cc7f28d0 100644 (file)
@@ -10,7 +10,7 @@
 #include <asm/processor.h>
 #include <asm/current.h>
 #include <hypervisor-ifs/hypervisor-if.h>
-#include <xeno/dom0_ops.h>
+#include <hypervisor-ifs/dom0_ops.h>
 
 #include <xeno/list.h>
 #include <xeno/time.h>
index 8f8949a8cd8ecad7374acc4851696d15cba6b911..8562591e1ea9370895a52431eae293af1065a02a 100644 (file)
@@ -2,66 +2,26 @@
  * dom0_ops.h
  * 
  * Process command requests from domain-0 guest OS.
+ * This file includes the Xen part of the interface, plus the extra stuff
+ * that is dealt with by Xenolinux without being handed down to Xen.
  * 
- * Copyright (c) 2002, K A Fraser, B Dragovic
- * 
- * MUST BE KEPT IN SYNC WITH xen/include/xeno/dom0_ops.h
- * MUST BE KEPT IN SYNC WITH tools/domain_builder/dom0_ops.h
+ * Copyright (c) 2002-2003, K A Fraser, B Dragovic
  */
 
-#define DOM0_GETMEMLIST     2
-#define DOM0_BVTCTL         6
-#define DOM0_ADJUSTDOM      7
-#define DOM0_CREATEDOMAIN   8
-#define DOM0_DESTROYDOMAIN  9
-#define DOM0_STARTDOMAIN   10
-#define DOM0_STOPDOMAIN    11
-#define DOM0_GETDOMAININFO 12
-#define DOM0_BUILDDOMAIN   13
-#define MAP_DOM_MEM        14 /* Not passed down to Xen */
-#define DO_PGUPDATES       15 /* Not passed down to Xen */
-#define MAX_CMD            16
-
-#define MAX_CMD_LEN     256
-#define MAX_DOMAIN_NAME 16
-
-typedef struct dom0_newdomain_st
-{
-    unsigned int domain;
-    unsigned int memory_kb;
-    unsigned int num_vifs;  /* temporary */
-    unsigned long pg_head;  /* return parameter */
-    char name[MAX_DOMAIN_NAME];
-} dom0_newdomain_t;
-
-typedef struct dom0_killdomain_st
-{
-    unsigned int domain;
-    int          force;
-} dom0_killdomain_t;
-
-typedef struct dom0_getmemlist_st
-{
-    unsigned long start_pfn;
-    unsigned long num_pfns;
-    void *buffer;
-} dom0_getmemlist_t;
+#ifndef __DOM0_DOM0_OPS_H__
+#define __DOM0_DOM0_OPS_H__
 
-typedef struct dom0_bvtctl_st
-{
-    unsigned long ctx_allow;    /* context switch allowance */
-} dom0_bvtctl_t;
+/* External users of this header file will include Xen's version separately. */
+#ifdef __KERNEL__
+#define NO_DOM0_OP_T
+#include <asm/hypervisor-ifs/dom0_ops.h>
+#endif
 
-typedef struct dom0_adjustdom_st
-{
-    unsigned int  domain;   /* domain id */
-    unsigned long mcu_adv;  /* mcu advance: inverse of weight */
-    unsigned long warp;     /* time warp */
-    unsigned long warpl;    /* warp limit */
-    unsigned long warpu;    /* unwarp time requirement */
-} dom0_adjustdom_t;
+/* Extra commands dealt with by Xenolinux. */
+#define MAP_DOM_MEM        14
+#define DO_PGUPDATES       15
+#define MAX_CMD            16
 
-/* This is entirely processed by XenoLinux */
 typedef struct dom_mem 
 {
     unsigned int domain;
@@ -70,42 +30,12 @@ typedef struct dom_mem
     int tot_pages;
 } dom_mem_t;
 
-/* This is entirely processed by XenoLinux */
 typedef struct dom_pgupdate
 {
     unsigned long pgt_update_arr;
     unsigned long num_pgt_updates;
 } dom_pgupdate_t;
 
-typedef struct domain_launch
-{
-    unsigned int domain;
-    unsigned long l2_pgt_addr;
-    unsigned long virt_load_addr;
-    unsigned long virt_shinfo_addr;
-    unsigned long virt_startinfo_addr;
-    unsigned int num_vifs;
-    char cmd_line[MAX_CMD_LEN];
-    unsigned long virt_mod_addr;
-    unsigned long virt_mod_len;
-} dom_meminfo_t;
-
-
-typedef struct dom0_getdominfo_st
-{
-  unsigned int domain;          /* All returns except domain */
-  char name[MAX_DOMAIN_NAME];
-  int processor;
-  int has_cpu;
-  int state;
-  int hyp_events;
-  unsigned long mcu_advance;
-  unsigned long pg_head;
-  unsigned int tot_pages;
-  long long cpu_time;
-} dom0_getdominfo_t;
-
-
 typedef struct dom0_op_st
 {
     unsigned long cmd;
@@ -124,3 +54,4 @@ typedef struct dom0_op_st
     u;
 } dom0_op_t;
 
+#endif /* __DOM0_DOM0_OPS_H__ */